﻿#region Usings

using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

#endregion

namespace xConnected.Core.Model
{
    [Serializable]
    [DataContract]
    public class Category : PersistentEntity
    {
        public Category()
        {
            CategorySkills = new List<CategorySkill>();
            CompanyProfiles = new List<CompanyProfile>();
            Positions = new List<Position>();
            TitleTranslations = new List<Translation>();
            DescriptionTranslations = new List<Translation>();
        }

        [DataMember]
        public string Description { get; set; }

        [DataMember]
        public string Key { get; set; }

        [DataMember]
        public int? IndustryId { get; set; }

        [DataMember]
        public virtual Industry Industry { get; set; }

        [DataMember]
        public int? ParentCategoryId { get; set; }

        [DataMember]
        public virtual Category ParentCategory { get; set; }

        [DataMember]
        public virtual IList<Category> ChildCategories { get; set; }

        [DataMember]
        public virtual IList<CategorySkill> CategorySkills { get; set; }

        [DataMember]
        public virtual IList<CompanyProfile> CompanyProfiles { get; set; }

        [DataMember]
        public virtual IList<Position> Positions { get; set; }

        [DataMember]
        public virtual IList<Translation> TitleTranslations { get; set; }

        [DataMember]
        public virtual IList<Translation> DescriptionTranslations { get; set; }
    }
}